package com.ch.base.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.logicalcobwebs.proxool.ProxoolFacade;

/*
 * 此類用來處理 在class類進行修改的時候 保存了之後服務自動重新啟動 報：
 * Exception in thread "HouseKeeper" java.lang.NullPointerException
 * 錯誤原因為：
 * This is because Proxool is not being shutdown properly. 
 * If the JVM stops then Proxool recognises that and shuts down gracefully, 
 * but if you redeploy Proxool into some environments (for example, a servlet container) 
 * then Proxool needs to be explicitly told so by calling ProxoolFacade.shutdown(). 
 * If you have a servlet container then you could put it in the servlet's destroy() method. 
 * Alternatively, use the ServletConfigurator to both configure and shutdown Proxool 
 */
public class HouseKeeperServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 4829418704873725291L;

	public void destroy() {
		//此處添加處理 
		ProxoolFacade.shutdown();
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		doGet(request, response);
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {

	}

}
